Skip to content

Normalize subscription migration unscheduling JSON - #8589

Merged
gonzaloriestra merged 4 commits into
gonzalo/json-subscription-migrations-statusfrom
gonzalo/json-subscription-migrations-unschedule
Oct 9, 2026
Merged

gonzaloriestra merged 4 commits into
gonzalo/json-subscription-migrations-statusfrom
gonzalo/json-subscription-migrations-unschedule

Conversation

@gonzaloriestra

@gonzaloriestra gonzaloriestra commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

WHY are these changes introduced?

Subscription migration JSON must follow the shared CLI conventions and expose a discoverable contract.

WHAT is this pull request doing?

Share the submission contract with scheduling: explicit outcomes, gid/shopGid and operationGids fields, flat results, and cancellation results that exit zero. Keep JSON format independent of non-interactive execution. Remove schemaVersion; result contracts follow CLI release versions. Update the schema, tests, and generated help together. These existing JSON contract changes include a major changeset.

How to manually test your changes?

shopify app subscription-migrations unschedule --input migrations.csv --force --json
shopify app subscription-migrations unschedule --json-schema

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes
  • I've considered analytics changes to measure impact
  • The change is user-facing and includes a major changeset

@github-actions github-actions Bot added the no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users. label Sep 18, 2026
@gonzaloriestra
gonzaloriestra added this pull request to stack #8590 September 18, 2026 12:23
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-subscription-migrations-unschedule branch from 3e1da7a to d0b90e1 Compare September 21, 2026 12:17
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-subscription-migrations-unschedule branch from d0b90e1 to 5f3cdee Compare September 22, 2026 11:26
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-subscription-migrations-unschedule branch from 5f3cdee to 1afaeb3 Compare September 22, 2026 12:24
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-subscription-migrations-unschedule branch 2 times, most recently from 2e90475 to 6c3df12 Compare September 24, 2026 10:41
@gonzaloriestra
gonzaloriestra marked this pull request as ready for review September 24, 2026 10:46
@gonzaloriestra
gonzaloriestra requested review from a team as code owners September 24, 2026 10:46
@gonzaloriestra gonzaloriestra changed the title Add JSON Schema for subscription migration unscheduling Normalize subscription migration unscheduling JSON Oct 6, 2026
@gonzaloriestra
gonzaloriestra marked this pull request as draft October 6, 2026 12:00
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-subscription-migrations-unschedule branch from 6c3df12 to 24d3228 Compare October 6, 2026 12:05
@github-actions github-actions Bot added Area: @shopify/cli @shopify/cli package issues and removed no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users. labels Oct 6, 2026
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-subscription-migrations-unschedule branch from 24d3228 to f84d3b3 Compare October 6, 2026 12:26
@gonzaloriestra
gonzaloriestra marked this pull request as ready for review October 8, 2026 08:57
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-subscription-migrations-unschedule branch from f84d3b3 to a6d9463 Compare October 8, 2026 11:40
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-subscription-migrations-unschedule branch 2 times, most recently from a1526af to fe2e84b Compare October 9, 2026 08:12
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-subscription-migrations-unschedule branch from fe2e84b to bb547fd Compare October 9, 2026 08:37
@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

⚠️ Potential Breaking Changes Detected

This PR contains changes that may break the existing contract.

@shopify/dev_experience — this PR contains breaking changes that require coordination for the next major release.

📦 Major Version Changesets

The following changesets request a major version bump:

Changeset Package
normalize-migration-status-json.md "@shopify/cli": major
normalize-migration-submission-json.md "@shopify/cli": major
normalize-migration-subscription-list-json.md "@shopify/cli": major
normalize-migration-unscheduling-json.md "@shopify/cli": major
normalize-subscription-migration-json.md "@shopify/cli": major

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Differences in type declarations

We detected differences in the type declarations generated by Typescript for this branch compared to the baseline ('main' branch). Please, review them to ensure they are backward-compatible. Here are some important things to keep in mind:

  • Some seemingly private modules might be re-exported through public modules.
  • If the branch is behind main you might see odd diffs, rebase main into this branch.

New type declarations

packages/cli-kit/dist/public/node/error/serialization.d.ts
import type { JsonError } from './types.js';
/**
 * Projects an error into the shared JSON error contract, retaining only allowlisted fields.
 *
 * @param source - Error to project.
 * @returns The error classification, message, and available recovery information.
 */
export declare function errorToJson(source: unknown): JsonError;

Existing type declarations

packages/cli-kit/dist/private/node/json-error.d.ts
@@ -1,16 +1,3 @@
-interface FatalErrorLike {
-    type?: number;
-    message?: unknown;
-    formattedMessage?: unknown;
-    tryMessage?: unknown;
-    nextSteps?: unknown;
-    customSections?: unknown;
-    stack?: unknown;
-    command?: unknown;
-    args?: unknown;
-    details?: unknown;
-    code?: unknown;
-}
 /**
  * Writes the public JSON representation of a fatal error to stdout.
  *
@@ -19,5 +6,4 @@ interface FatalErrorLike {
  *
  * @param error - Fatal error to serialize.
  */
-export declare function renderFatalErrorAsJson(error: FatalErrorLike): void;
-export {};
\ No newline at end of file
+export declare function renderFatalErrorAsJson(error: unknown): void;
\ No newline at end of file

@gonzaloriestra
gonzaloriestra added this pull request to the merge queue Oct 9, 2026
Merged via the queue into main with commit 7086361 Oct 9, 2026
33 of 57 checks passed
@gonzaloriestra
gonzaloriestra deleted the gonzalo/json-subscription-migrations-unschedule branch October 9, 2026 09:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: @shopify/cli @shopify/cli package issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants